home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
forlib1.arc
/
SOUND.ASM
< prev
next >
Wrap
Assembly Source File
|
1986-01-15
|
2KB
|
74 lines
DATA SEGMENT PUBLIC 'DATA'
TITLE__ DB 'TITLE: SOUND FOR MS FORTRAN'
COPY_R DB ' (C) John R. Petrocelli'
DB ' Schenectady,NY '
DB ' 01/13/86 '
BADHZ_MSG DB ' ** SOUND FREQ OUT OF RANGE$'
BADLEN_MSG DB ' ** SOUND DURATION OUT OF RANGE$'
DATA ENDS
DGROUP GROUP DATA
CODE SEGMENT 'CODE'
ASSUME CS:CODE,DS:DGROUP,SS:DGROUP
PUBLIC SOUND
SOUND PROC FAR
PUSH BP
PUSH AX
PUSH BX
PUSH CX
PUSH DX
PUSH DS
PUSH DI
MOV BP,SP
LES BX,DWORD PTR[BP+22]
MOV DI,[BX]
CMP DI,21
JL BADHZ
CMP DI,25000
JG BADHZ
LES BX,DWORD PTR[BP+18]
MOV BX,[BX]
CMP BX,21
JL BADLEN
CMP BX,25000
JG BADLEN
MOV AL,0B6H
OUT 43H,AL
MOV DX,14H
MOV AX,4F38H
DIV DI
OUT 42H,AL
MOV AL,AH
OUT 42H,AL
IN AL,61H
MOV AH,AL
OR AL,3
OUT 61H,AL
WAIT: MOV CX,2801
SPKR_ON:
LOOP SPKR_ON
DEC BX
JNZ WAIT
MOV AL,AH
OUT 61H,AL
QUIT: POP DI
POP DS
POP DX
POP CX
POP BX
POP AX
POP BP
RET 08
BADHZ:
LEA DX,BADHZ_MSG
MOV AX,0900H
INT 21H
JMP QUIT
BADLEN:
LEA DX,BADLEN_MSG
MOV AX,0900H
INT 21H
JMP QUIT
SOUND ENDP
CODE ENDS
END